
/**
 * 导入JSON数据
 * @param {Function} callback(data) 回调方法，data为读取到的数据
 */
export function importJson(callback = (data) => {}) {
    const input = document.createElement('input')
    input.type = 'file'
    input.accept = 'application/json'
    input.onchange = function (event) {
        const file = event.target.files[0]
        const fr = new FileReader();
        fr.readAsText(file)
        fr.onload = () => {
            const json = fr.result
            try {
                const data = JSON.parse(json)
                callback(data)
            } catch (e) {
                ElMessage.error('文件内容不正确或不是备份数据')
            }
        }
    }
    input.click()
}

/**
 *  导出JSON数据
 * @param {Object} data 需要导出的数据
 * @param {String} filename 文件名
 */
export function exportJson(data = {}, filename = 'data.json') {
    var jsonString = JSON.stringify(data);
    var link = document.createElement('a');
    link.href = 'data:text/json;charset=utf-8,' + encodeURIComponent(jsonString);
    link.download = filename;
    link.click();
}

/**
 * 导入图片数据
 * @param {Function} callback(file) 回调方法，file为读取到的第一个文件
 */
export function importImage(callback = (file) => {}) {
    const input = document.createElement('input')
    input.type = 'file'
    input.accept = '.png,.jpg,.jepg,.gif'
    input.onchange = function (event) {
        callback(event.target.files[0])
    }
    input.click()
}